D3 路径生成器(lines)
2022-04-21
D3 的路径生成器在拥有指定坐标的情况下可以生成路径,可以通过使用d3.line()
来进行创建一个线生成器。
在 d3 version 3 版本中, 创建路径生成器需要使用
d3.svg.line()来进行创建,在 v4 中将此变得更加语义化
d3.line()
首先我们使用d3.line()
来创建一个默认的线(line)生成器,之后定义一个坐标数组并通过pathData调用lineGenerator
传入数组points,之后添加路径(path)
1 | var svg = d3.select('#demo') |
Scale
当然,纯粹的默认路径生成器是满足不了我们的需求的,因为他的路径是根据数据来决定的,因此我们需要来使用一个线性比例尺。
线性比例尺(scaleLinear)是一个适用与连续定义数据的比例尺,他很好的保留了比例的差异。每一个 range(y) 中的值都可以被表示为一个函数,其中 domain 对应了
x
内的值。
1 | var svg = d3.select('#demo') |
curve
在 D3 version 4 中新加了一种参数为curve
,curve可以在一系列点之间进行差值,最终形成一条连续的线,下述我们使用了d3.curceCardinal
cardinal 三次曲线。
1 | var svg = d3.select('#demo') |